# 多线程
import time
import threading


def funa():
    print('开始上语文课了')
    time.sleep(3)
    print('上课结束了')


def funb(b):
    print(f'{b}开始上数学课了')
    time.sleep(2)
    print('上课结束了')


class MyThread(threading.Thread):
    # 重构run方法,表示线程活动的方法
    def run(self):
        print('子线程开始执行')
        time.sleep(2)
        print('子线程执行完毕')


if __name__ == '__main__':
    t1 = threading.Thread(target=funa)
    # args是元组，所以要加逗号
    t2 = threading.Thread(target=funb, args=('jueyi',))
    # 守护线程: 主线程执行完毕，子线程自动结束
    t1.setDaemon(True)
    t2.setDaemon(True)
    t1.start()
    t2.start()

    print(t1.getName())
    t2.setName('线程2')
    print(t2.getName())

    print('当前的线程是：', threading.current_thread().name)

    my = MyThread()
    # start方法默认会调用线程的run方法
    my.start()
